/**
 *
 */
package com.newer.biz.sys.user;

import com.newer.commons.result.BizResult;
import com.newer.dao.bean.sys.Role;
import com.newer.dao.bean.sys.User;
import com.newer.dao.bean.sys.UserRole;

/**
 * 用户信息业务操作类
 *
 * @author xuntj
 * @create 2018-03-14 21:02
 **/
public interface UserInfoBiz {


    /**
     * 分页查询用户信息
     *
     * @param query 查询对象
     * @return
     */
    BizResult<User> queryUserInfoByPages(User query);


    /**
     * 用户详细信息
     *
     * @param userId 用户ID
     * @return
     */
    BizResult<User> queryUserDetail(String userId);


    /**
     * 用户信息添加
     *
     * @param user
     * @return
     */
    BizResult<?> operateUser(User user);


    /**
     * 用户角色授权检查
     *
     * @param userId
     * @return
     */
    BizResult<Role> userRoleExits(String roleName, String userId, Integer pageNo, Integer pageSize);

    /**
     * 用户角色授权
     *
     * @param userRole
     * @return
     */
    BizResult<?> userRoleGrant(UserRole userRole);

    /**
     * 用户信息状态修改
     *
     * @param userId
     * @return
     */
    BizResult<?> userInfoStateChange(String userId, Integer status);

    /**
     * 用户重置密码
     *
     * @param userId
     * @return
     */
    BizResult<?> resetPwd(String userId, String pwd);

}
